<?php
/**
 * Created by PhpStorm.
 * User: s.utkin
 * Date: 14.05.2015
 * Time: 19:35
 */

class SitemapGeneratorConfig extends \Pinenut\Config {
	public static $config = [
		// типы генераторов файлов
		'types' => [
			'profile' => [
				'class' => '\SitemapGenerator\Generators\ProfileGenerator',
				'params' => [
					'model' => 'Profiles',
					'type' => 'all',
					'partitionParamsMapping' => [
						'country._ref' => 'location???'
					],
					'generationParamsMapping' => [],
					'conditions' => [
						'isBlocked' => false,
						'isFake' => false
					],
					'linkGenerator' => '', // должен быть какой-то метод, который
					// получит недополученные данные и выдаст
					// массив ссылок с параметрами
				]
			],
			'search' => [
				'class' => '\SitemapGenerator\Generators\ProfileGenerator',
				'params' => [
					'model' => 'Index',
					'type' => 'count',
					'partitionParamsMapping' => [],
					'generationParamsMapping' => [
						'looking' => 'looking',
						'location' => 'location???',
					],
					'params' => [],
					'linkGenerator' => '', // должен быть какой-то метод, который
					// получит недополученные данные и выдаст
					// массив ссылок с параметрами
				]
			]
		],

		// список вызовов генераторов
		'index' => [
			'profile' => [
				'type' => 'profile',
				'partitionsDataProvider' => [
					'location' => [
						'class' => '\SitemapGenerator\DataProvider\ModelFieldProvider',
						'params' => [
							'model' => '\Geo\City',
							'field' => '_id'
						]
					],
				],
				'generatorsDataProvider' => null, // нечего генерировать, используем данные из партицирования
			],
			'searchAll' => [
				'type' => 'search',
				'partitions' => [],
				'generators' => [
					'looking' => [
						'class' => '\SitemapGenerator\DataProvider\ListProvider',
						'params' => [
							'items' => ['inviter', 'traveler', 'located']
						]
					]
				]
			],
			'searchByCountry' => [
				'type' => 'search',
				'partitions' => [],
				'generators' => [
					'looking' => [
						'inviter',
						'traveler',
						'located'
					],
					'location' => '/SomeNamespace/ProfilesByCountry'
				]
			],
			'searchByDistrict' => [
				'type' => 'search',
				'partitions' => [],
				'generators' => [
					'looking' => [
						'inviter',
						'traveler',
						'located'
					],
					'location' => '/SomeNamespace/ProfilesByDistrict'
				]
			]
		]
	];
} 